/**
 * @Author: Jiang Zhongxun
 * @Date: 2024-10-06 19:55:14
 * @FilePath: /Socket/practiceProject/include/server/adminSys.h
 * @Description: 管理端接口。包含：人工查验审核、查询操作记录、修改用户密码。
 * @Copyright (c) 2024 by 蒋仲勋, All Rights Reserved.
 */
#ifndef _ADMINSYS_H_
#define _ADMINSYS_H_

#include "../../include/db/dbDefinition.h"
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <sqlite3.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/wait.h>
#include <unistd.h>

/**
 * @description: 人工查验审核
 * @param {sqlite3} *db SQLite3数据库指针句柄
 * @param {CheckStatus} checkStatus 查验状态
 * @return {*} 成功返回0，失败返回非0的数
 */
int manualAudit(sqlite3 *db);

/**
 * @description: 查询操作记录，倒叙展示【考虑分页展示】
 * @param {sqlite3} *db SQLite3数据库指针句柄
 * @return {*} 成功返回0，失败返回非0的数
 */
int queryOperationRecord(sqlite3 *db);

/**
 * @description: 管理员修改用户密码
 * @param {sqlite3} *db SQLite3数据库指针句柄
 * @return {*} 成功返回0，失败返回非0的数
 */
int changeUserPasswd(sqlite3 *db);

/**
 * @description: 管理员服务端通信
 * @param {int} newfd 套接字
 * @return {*} 成功返回0，失败返回-1
 */
int adminTcpServerCom(int newfd, sqlite3 *db);

#endif
